package br.unicamp.ic.inf312.arena.modelo.logistico;
/*
 * ArenaTicketMain - Venda de Bilhetes Eletronicos para Espetaculos (Arena Entretenimento S.A.)
 * SalaConfiguravel.java
 * ©2006
 */

import java.util.ArrayList;
import java.util.Collection;

/**
 * @author  inf312
 */
public class SalaConfiguravel extends Sala {

	public Collection<ConjuntoAssento> conjuntosAssento;

	public SalaConfiguravel() {
		super();
		conjuntosAssento = new ArrayList<ConjuntoAssento>();
		super.setTipo(Sala.TIPO_CONFIGURAVEL);
	}

	/**
	 * 
	 * @param identificacao
	 * @param caracteristica
	 * @param qtdTotalAssentos
	 * @param unidadeNegocio
	 */
	public SalaConfiguravel(String identificacao, String caracteristica,
			int qtdTotalAssentos, UnidadeNegocio unidadeNegocio) {
		super(identificacao, caracteristica, qtdTotalAssentos, unidadeNegocio);
		conjuntosAssento = new ArrayList<ConjuntoAssento>(); 
		super.setTipo(Sala.TIPO_CONFIGURAVEL);
	}
	
	/**
	 * 
	 * @param identificacao
	 * @param caracteristica
	 * @param qtdTotalAssentos
	 * @param unidadeNegocio
	 * @param conjAssentos
	 */
	public SalaConfiguravel(String identificacao, String caracteristica,
			int qtdTotalAssentos, UnidadeNegocio unidadeNegocio,
			Collection<ConjuntoAssento> conjAssentos) {
		super(identificacao, caracteristica, qtdTotalAssentos, unidadeNegocio);
		conjuntosAssento = conjAssentos;
		super.setTipo(Sala.TIPO_CONFIGURAVEL);
	}

	/**
	 * @return Assento Categorizado (disponivel)
	 */
	//TODO: IMPL. PROVISORIA ENQTO NAO TEM A FUNCIONALIDADE MAPA DE ASSENTOS
	public Assento getProximoAssentoDisponivel() {
		AssentoCategorizado assento = new AssentoCategorizado(1, 1, 1);
		return assento;
	}

	public Collection<ConjuntoAssento> getConjuntosAssento() {
		return this.conjuntosAssento;
	}
	
	public void addNovoConjuntoAssento(ConjuntoAssento conjunto) {
		this.conjuntosAssento.add(conjunto);
	}	
}